home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Complementary Applications 2004 February / SGI IRIX 6.5 Complementary Applications 2004 February.iso / dist / cde.idb / usr / dt / share / examples / dtksh / EventHandlerTest.z / EventHandlerTest
Encoding:
Text File  |  2003-11-18  |  6.9 KB  |  239 lines

  1. #! /usr/dt/bin/dtksh
  2. #
  3. # EventHandlerTest
  4. #
  5. # Copyright 2000, Silicon Graphics, Inc.
  6. # ALL RIGHTS RESERVED
  7. # UNPUBLISHED -- Rights reserved under the copyright laws of the United
  8. # States.   Use of a copyright notice is precautionary only and does not
  9. # imply publication or disclosure.
  10. #
  11. # U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
  12. # Use, duplication or disclosure by the Government is subject to restrictions
  13. # as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
  14. # in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
  15. # in similar or successor clauses in the FAR, or the DOD or NASA FAR
  16. # Supplement.  Contractor/manufacturer is Silicon Graphics, Inc.,
  17. # 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
  18. #
  19. # THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
  20. # INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
  21. # DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
  22. # PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
  23. # GRAPHICS, INC.
  24. #
  25.  
  26. ##########################################################################
  27. #  (c) Copyright 1993, 1994 Hewlett-Packard Company    
  28. #  (c) Copyright 1993, 1994 International Business Machines Corp.
  29. #  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
  30. #  (c) Copyright 1993, 1994 Unix System Labs, Inc., a subsidiary of
  31. #      Novell, Inc.
  32. ##########################################################################
  33.  
  34.  
  35. #
  36. # This sample shell script demonstrates how event handlers can be added
  37. # and removed.  It also demonstrates how the EH_WIDGET and EH_EVENT
  38. # convenience environment variables can be referenced.
  39. #
  40.  
  41.  
  42. EventHandler1()
  43. {
  44.    echo "EH_WIDGET ="$EH_WIDGET
  45.    echo "EH_EVENT ="$EH_EVENT
  46.    echo "EH_EVENT.TYPE ="${EH_EVENT.TYPE}
  47.    echo "event handler 1 invoked ("$1")"
  48. }
  49.  
  50. EventHandler2()
  51. {
  52.    echo "EH_WIDGET ="$EH_WIDGET
  53.    echo "EH_EVENT ="$EH_EVENT
  54.    echo "EH_EVENT.TYPE ="${EH_EVENT.TYPE}
  55.    echo "event handler 1 invoked ("$1")"
  56. }
  57.  
  58. # PushbuttonCallback: Adds an event handler to the form widget
  59. AddMaskableEventHandler1()
  60. {
  61.    XtAddEventHandler $FORM2 "Button2MotionMask" False \
  62.      "EventHandler1 1"
  63. }
  64.  
  65. # PushbuttonCallback: Adds an event handler to the form widget
  66. AddMaskableEventHandler2()
  67. {
  68.    XtAddEventHandler $FORM2 "ButtonPressMask|ButtonReleaseMask" False \
  69.      "EventHandler1 1"
  70. }
  71.  
  72. # PushbuttonCallback: Adds an event handler to the form widget
  73. AddMaskableEventHandler3()
  74. {
  75.    XtAddEventHandler $FORM2 "Button2MotionMask" False \
  76.      "EventHandler1 2"
  77. }
  78.  
  79. # PushbuttonCallback: Adds an event handler to the form widget
  80. AddNonmaskableEventHandler()
  81. {
  82.    XtAddEventHandler $FORM2 "NoEventMask" True "EventHandler2 1"
  83. }
  84.  
  85. # PushbuttonCallback: Adds an event handler to the form widget.
  86. #                     Should report a bad event mask.
  87. AddBadEventHandler()
  88. {
  89.    XtAddEventHandler $FORM2 "fooMask" False "EventHandler2 1"
  90. }
  91.  
  92. # PushbuttonCallback: Removes an event handler to the form widget
  93. RemoveEventHandler1()
  94. {
  95.    XtRemoveEventHandler $FORM2 "Button2MotionMask" False \
  96.      "EventHandler1 1"
  97. }
  98.  
  99. # PushbuttonCallback: Removes an event handler to the form widget
  100. RemoveEventHandler2()
  101. {
  102.    XtRemoveEventHandler $FORM2 "ButtonPressMask|ButtonReleaseMask" False \
  103.      "EventHandler1 1"
  104. }
  105.  
  106. # PushbuttonCallback: Removes an event handler to the form widget
  107. RemoveEventHandler1and2()
  108. {
  109.    XtRemoveEventHandler $FORM2 "XtAllEvents" True "EventHandler1 1"
  110. }
  111.  
  112.  
  113.  
  114. ######################### Create the Main UI #################################
  115.  
  116. XtInitialize TOPLEVEL eventHandlerTest EventHandlerTest "$0" "$@"
  117.  
  118. XtCreateManagedWidget FORM form XmForm $TOPLEVEL
  119.  
  120. XtCreateManagedWidget FORM2 form2 XmForm $FORM \
  121.     topAttachment:ATTACH_FORM \
  122.     leftAttachment:ATTACH_FORM \
  123.     rightAttachment:ATTACH_FORM
  124. XtSetValues $FORM2 height:150 width:150
  125.  
  126. XtCreateManagedWidget SEP sep XmSeparator $FORM \
  127.     topAttachment:ATTACH_WIDGET \
  128.     topWidget:$FORM2 \
  129.     leftAttachment:ATTACH_FORM \
  130.     rightAttachment:ATTACH_FORM
  131.  
  132. XtCreateManagedWidget PB1 pb XmPushButton $FORM \
  133.     labelString:"Add Maskable Event Handler 1" \
  134.     topAttachment:ATTACH_WIDGET \
  135.     topWidget:$SEP \
  136.     topOffset:10 \
  137.     leftAttachment:ATTACH_POSITION \
  138.     leftPosition:10 \
  139.     rightAttachment:ATTACH_POSITION \
  140.     rightPosition:40
  141. XtAddCallback $PB1 activateCallback AddMaskableEventHandler1
  142.  
  143. XtCreateManagedWidget PB2 pb2 XmPushButton $FORM \
  144.     labelString:"Add Maskable Event Handler 2" \
  145.     topAttachment:ATTACH_WIDGET \
  146.     topWidget:$SEP \
  147.     topOffset:10 \
  148.     leftAttachment:ATTACH_POSITION \
  149.     leftPosition:60 \
  150.     rightAttachment:ATTACH_POSITION \
  151.     rightPosition:90
  152. XtAddCallback $PB2 activateCallback AddMaskableEventHandler2
  153.  
  154. XtCreateManagedWidget PB3 pb3 XmPushButton $FORM \
  155.     labelString:"Add Maskable Event Handler 3" \
  156.     topAttachment:ATTACH_WIDGET \
  157.     topWidget:$PB2 \
  158.     topOffset:10 \
  159.     leftAttachment:ATTACH_POSITION \
  160.     leftPosition:10 \
  161.     rightAttachment:ATTACH_POSITION \
  162.     rightPosition:40 
  163. XtAddCallback $PB3 activateCallback AddMaskableEventHandler3
  164.  
  165. XtCreateManagedWidget PB4 pb4 XmPushButton $FORM \
  166.     labelString:"Add Maskable Event Handler 4" \
  167.     topAttachment:ATTACH_WIDGET \
  168.     topWidget:$PB2 \
  169.     topOffset:10 \
  170.     leftAttachment:ATTACH_POSITION \
  171.     leftPosition:60 \
  172.     rightAttachment:ATTACH_POSITION \
  173.     rightPosition:90
  174. XtAddCallback $PB4 activateCallback AddMaskableEventHandler4
  175. XtSetSensitive $PB4 False
  176.  
  177. XtCreateManagedWidget PB5 pb5 XmPushButton $FORM \
  178.     labelString:"Add non-maskable Event Handler" \
  179.     topAttachment:ATTACH_WIDGET \
  180.     topWidget:$PB4 \
  181.     topOffset:10 \
  182.     leftAttachment:ATTACH_POSITION \
  183.     leftPosition:10 \
  184.     rightAttachment:ATTACH_POSITION \
  185.     rightPosition:40
  186. XtAddCallback $PB5 activateCallback AddNonmaskableEventHandler
  187.  
  188. XtCreateManagedWidget PB6 pb6 XmPushButton $FORM \
  189.     labelString:"Add Bad Event Handler" \
  190.     topAttachment:ATTACH_WIDGET \
  191.     topWidget:$PB4 \
  192.     topOffset:10 \
  193.     leftAttachment:ATTACH_POSITION \
  194.     leftPosition:60 \
  195.     rightAttachment:ATTACH_POSITION \
  196.     rightPosition:90
  197. XtAddCallback $PB6 activateCallback AddBadEventHandler
  198.  
  199. XtCreateManagedWidget PB7 pb7 XmPushButton $FORM \
  200.     labelString:"Remove Maskable Event Handler 1" \
  201.     topAttachment:ATTACH_WIDGET \
  202.     topWidget:$PB6 \
  203.     topOffset:10 \
  204.     leftAttachment:ATTACH_POSITION \
  205.     leftPosition:10 \
  206.     rightAttachment:ATTACH_POSITION \
  207.     rightPosition:40 
  208. XtAddCallback $PB7 activateCallback RemoveEventHandler1
  209.  
  210. XtCreateManagedWidget PB8 pb8 XmPushButton $FORM \
  211.     labelString:"Remove Maskable Event Handler 2" \
  212.     topAttachment:ATTACH_WIDGET \
  213.     topWidget:$PB6 \
  214.     topOffset:10 \
  215.     leftAttachment:ATTACH_POSITION \
  216.     leftPosition:60 \
  217.     rightAttachment:ATTACH_POSITION \
  218.     rightPosition:90
  219. XtAddCallback $PB8 activateCallback RemoveEventHandler2
  220.  
  221. XtCreateManagedWidget PB9 pb9 XmPushButton $FORM \
  222.     labelString:"Remove Maskable Event Handler 1 and 2" \
  223.     topAttachment:ATTACH_WIDGET \
  224.     topWidget:$PB8 \
  225.     topOffset:10 \
  226.     leftAttachment:ATTACH_POSITION \
  227.     leftPosition:10 \
  228.     rightAttachment:ATTACH_POSITION \
  229.     rightPosition:40 \
  230.     bottomAttachment:ATTACH_FORM \
  231.     bottomOffset:10
  232. XtAddCallback $PB9 activateCallback RemoveEventHandler1and2
  233.  
  234.  
  235. XtRealizeWidget $TOPLEVEL
  236.  
  237. XtMainLoop
  238.